// import http from '@ohos.net.http';
import { GlobalVariables } from './type';

export const gv: GlobalVariables = {
  map_zero_x: 0,
  map_zero_y: 0,
  map_HW: 0,
  x_min: 0,
  y_min: 0,
  squreWH: 0,
  y_max: 0,
  gridSize: 0,
};

// function axisRealWorldToImageAxis(wx: number, wy: number): {
//   px: number,
//   py: number;
// } | null { // 将真实世界坐标转换为图片坐标
//   try {
//     const px = (wx / 0.05) - (gv.map_zero_x / 0.05);
//     const py = gv.map_HW - (gv.map_zero_y / 0.05) - (wy / 0.05);
//     return { px, py };
//   } catch (e) {
//     // error('坐标转换错误', e);
//     return null;
//   }
// }
//
// function map_HW(px: number, py: number): {
//   wx: number,
//   wy: number;
// } | null { // 将图片坐标转换为真实世界坐标
//   try {
//     const wx = ((px + (gv.map_zero_x / 0.05)) * 0.05);
//     const wy = ((gv.map_HW - (Math.abs(gv.map_zero_y) / 0.05)) - py) * 0.05;
//     // log(`map_height: ${gv.map_HW} - map_zero_y, need *0.05: ${gv.map_zero_y} - py: ${py}`);
//     return { wx, wy };
//   } catch (e) {
//     // error("axisImageAxisToRealWorld", e);
//     return null;
//   }
// }

const arriveDistance = 4;

const calcArriveDistance = (arriveDistance**2) << 1;

interface Pos {
  readonly  x: number,
  readonly  y: number
}

export const isNear = ({x:x1,y:y1}: Pos, {x:x2,y:y2}: Pos) => (x1 - x2)**2 + (y1 - y2)**2 <= calcArriveDistance